﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using BLL;
namespace WebService_RentaCar
{
    /// <summary>
    /// Descripción breve de webServiceClientes
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Para permitir que se llame a este servicio web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
    // [System.Web.Script.Services.ScriptService]
    public class webServiceClientes : System.Web.Services.WebService
    {

        [WebMethod]
        public DataSet devolverClientes()
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            return objgetValuesWS.listaClientes();


        }

        [WebMethod]
        public string insertarClientes(string identificacion, int codigoId, string nombre, string apellido1, string apellido2,
                                        char genero, string email, int codigoTipoCliente)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.identificacion = identificacion;
            objgetValuesWS.codigoId = codigoId;
            objgetValuesWS.nombre = nombre;
            objgetValuesWS.apellido1 = apellido1;
            objgetValuesWS.apellido2 = apellido2;
            objgetValuesWS.genero = genero;
            objgetValuesWS.email = email;
            objgetValuesWS.codigoTipoCliente = codigoTipoCliente;


            return objgetValuesWS.ingresaClientes(); 
          


        }


        [WebMethod]
        public string actualizarClientes(int codigoCliente, string identificacion, int codigoId, string nombre, string apellido1, string apellido2,
                                        char genero, string email, int codigoTipoCliente)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoCliente = codigoCliente;
            objgetValuesWS.identificacion = identificacion;
            objgetValuesWS.codigoId = codigoId;
            objgetValuesWS.nombre = nombre;
            objgetValuesWS.apellido1 = apellido1;
            objgetValuesWS.apellido2 = apellido2;
            objgetValuesWS.genero = genero;
            objgetValuesWS.email = email;
            objgetValuesWS.codigoTipoCliente = codigoTipoCliente;


            return objgetValuesWS.actualizarClientes();



        }

        [WebMethod]
        public string eliminarClientes(int codigoCliente)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoCliente = codigoCliente;

            return objgetValuesWS.eliminarClientes();



        }


        [WebMethod]
        public DataSet editarClientes(int codigoCliente)
        {

            getValuesWS objgetValuesWS = new getValuesWS();
            objgetValuesWS.codigoCliente = codigoCliente;
            return objgetValuesWS.editarClientes();


        }
        // "Facade"
         private class getValuesWS
         {
            #region Propiedades
            public int codigoCliente { get; set; }
            public string identificacion { get; set; }
            public int codigoId { get; set; }
            public string nombre { get; set; }
            public string apellido1 { get; set; }
            public string apellido2 { get; set; }
            public char genero { get; set; }
            public string email { get; set; }
            public int codigoTipoCliente { get; set; }
            public string estado { get; set; }
            #endregion

            public DataSet listaClientes()
            {
                try
                {
                   ClientesC objClientes = new ClientesC();
                   return objClientes.cargaClientes();

                }
                catch (Exception)
                {
                    return null;
                }

            }

            public string ingresaClientes()
            {
                try
                {
        
                    ClientesC objClientes = new ClientesC();
                   
                    objClientes.identificacion = identificacion;
                    objClientes.codigoId = codigoId;
                    objClientes.nombre = nombre;
                    objClientes.apellido1 = apellido1;
                    objClientes.apellido2 = apellido2;
                    objClientes.genero = genero;
                    objClientes.email = email;
                    objClientes.codigoTipoCliente = codigoTipoCliente;
                    estado = objClientes.insertarClientes();
                    
                    return estado;

                }
                catch (Exception)
                {
                    return "";
                }

            }

            public string actualizarClientes()
            {
                try
                {

                    ClientesC objClientes = new ClientesC();
                    objClientes.codigoCliente = codigoCliente;
                    objClientes.identificacion = identificacion;
                    objClientes.codigoId = codigoId;
                    objClientes.nombre = nombre;
                    objClientes.apellido1 = apellido1;
                    objClientes.apellido2 = apellido2;
                    objClientes.genero = genero;
                    objClientes.email = email;
                    objClientes.codigoTipoCliente = codigoTipoCliente;
                    estado = objClientes.actualizarCliente();

                    return estado;

                }
                catch (Exception)
                {
                    return "";
                }

            }

            public DataSet editarClientes()
            {
                try
                {
                    ClientesC objClientes = new ClientesC();
                    objClientes.codigoCliente = codigoCliente;
                    return objClientes.cargaClientes();

                }
                catch (Exception)
                {
                    return null;
                }

            }

            public string eliminarClientes()
            {
                try
                {
                    ClientesC objClientes = new ClientesC();
                    objClientes.codigoCliente = codigoCliente;
                    estado = objClientes.eliminarCliente();

                    return estado;

                }
                catch (Exception)
                {
                    return "Error no Controlado";
                }

            }
        }

    }
}
